using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("Tutorial_05")]
	public class Tutorial_05 : TutorialEntity
	{
		public int weaponsPlayed => method_2<int>("weaponsPlayed");

		public int numTimesRemindedAboutGoal => method_2<int>("numTimesRemindedAboutGoal");

		public bool heroPowerHasNotBeenUsed => method_2<bool>("heroPowerHasNotBeenUsed");

		public bool victory => method_2<bool>("victory");

		public Tutorial_05(IntPtr address, string className)
			: base(address, className)
		{
		}

		public Tutorial_05(IntPtr address)
			: this(address, "Tutorial_05")
		{
		}

		public new void PreloadAssets()
		{
			method_8("PreloadAssets");
		}

		public new void NotifyOfGameOver(TAG_PLAYSTATE gameResult)
		{
			method_8("NotifyOfGameOver", gameResult);
		}

		public new bool IsKeywordHelpDelayOverridden()
		{
			return method_11<bool>("IsKeywordHelpDelayOverridden", Array.Empty<object>());
		}

		public void ShowEndTurnBouncingArrow()
		{
			method_8("ShowEndTurnBouncingArrow");
		}

		public new bool NotifyOfEndTurnButtonPushed()
		{
			return method_11<bool>("NotifyOfEndTurnButtonPushed", Array.Empty<object>());
		}

		public new bool NotifyOfTooltipDisplay(TooltipZone specificZone)
		{
			return method_11<bool>("NotifyOfTooltipDisplay", new object[1] { specificZone });
		}

		public new List<string> NotifyOfKeywordHelpPanelDisplay(Entity entity)
		{
			return method_14<Class249>("NotifyOfKeywordHelpPanelDisplay", new object[1] { entity })?.method_25();
		}

		public new List<RewardData> GetCustomRewards()
		{
			return method_14<Class271<RewardData>>("GetCustomRewards", Array.Empty<object>())?.method_25();
		}
	}
}
